/////////////////////////////////////////////////////////////////////////
//
// Amuse Engine - visibility
// Copyright (c) 2015.  All Rights Reserved
//
// File:		AEVisibilityZone.cpp
// Author:		Gianluca Belardelli
// Date:		30/06/2015
//
/////////////////////////////////////////////////////////////////////////
#include <AEEngine.h>

AEVisibilityZone::AEVisibilityZone( const AEBoundingBox &bbBox ) : m_uiZoneFlags(0),
	m_bbBoundingBox( bbBox )
{
	m_lpStaticGeometryInstances = new AEStaticGeometryInstanceCollection( 1024 );
}

AEVisibilityZone::AEVisibilityZone( void ) : m_uiZoneFlags(0), m_bbBoundingBox()
{
	m_lpStaticGeometryInstances = new AEStaticGeometryInstanceCollection( 1024 );
}

AEVisibilityZone::~AEVisibilityZone( void )
{
}

AEFLOAT32 AEVisibilityZone::GetDistanceFromGeometry( const AEBoundingBox &bbRefBox, AEStaticGeometryInstance *&lpBestGeoInstance ) const
{
	return 0.f;
}

void AEVisibilityZone::SetBoundingBox( const AEBoundingBox &bbBox )
{
	m_bbBoundingBox = bbBox;
}

void AEVisibilityZone::AddStaticGeometryInstance( AEStaticGeometryInstance *lpGeomInstance )
{
	m_lpStaticGeometryInstances->AppendEntry( lpGeomInstance );
}

void AEVisibilityZone::RemoveGeometryInstance( AEStaticGeometryInstance *lpGeomInstance )
{
	m_lpStaticGeometryInstances->Remove( lpGeomInstance );
}
